﻿/*
 * a standard class to show some definition in class
*/
using System;
using System.Runtime.CompilerServices;

[assembly: InternalsVisibleTo("Microsot")]
namespace ClassLibrary
{
    /// <summary>
    /// a standard class inculde some example defination
    /// </summary>
    public sealed class StandardClass
    {
        //nested class
        private class NestedClass { }
        //const field
        private const int constField = 0;
        //readonly field
        private readonly int readonlyField = 1;
        //static field
        private static int staticField = 2;
        //Type constructor
        static StandardClass() { } 
        //Instance constructor
        public StandardClass() { }
        //Instance constructor with arguments
        public StandardClass(int x) { }
        //Instance method
        public void InstanceMethod() { }
        //Static method
        public static void StaticMethod() { }
        //Property
        public int Property { get; set; }
        //Property with arguments
        public int this[int index] { get { return 0; } set { } }
        //Event
        public event EventHandler AEvent;
    }
}
